package club.xyes.zkh.ecommerce.service;

import club.xyes.zkh.ecommerce.commons.entity.WxFormId;

import java.util.List;

/**
 * Create by 郭文梁 2019/5/6 0006 13:14
 * WxFormIdService
 * 微信FormId相关业务行为定义
 *
 * @author 郭文梁
 * @data 2019/5/6 0006
 */
public interface WxFormIdService extends BaseService<WxFormId> {
    /**
     * 收集一个FormID
     *
     * @param appId  AppId
     * @param openId openId
     * @param formId formId
     * @return FormId
     */
    WxFormId collect(String appId, String openId, String formId);

    /**
     * 收集多个FormId
     *
     * @param appId   AppId
     * @param openId  OpenID
     * @param formIds FormId列表
     * @return Id list
     */
    List<WxFormId> collect(String appId, String openId, List<String> formIds);

    /**
     * 获取一个FormId并从数据库中删除
     *
     * @param appId  AppId
     * @param openId OpenId
     * @return WxOpenId
     */
    WxFormId popOne(String appId, String openId);

    /**
     * 清除已过期的FormId
     *
     * @return 删除的条数
     */
    int cleanExpired();
}
